
const ts = require('typescript');
const fs = require('fs');
const path = require('path');

// 获取命令行中的参数,转换为绝对路径
const filePath = process.argv[2]; 
console.log('filePath:',filePath)

// 已废弃用法，当 require 一个后缀为 ts 的文件时，调用下面的函数
require.extensions['.ts'] = function(module, filename) {
    
    console.log('filename:',filename);
    // 处理 不存在的路径 ？
    const filefullName = path.resolve(__dirname,filename);

    console.log('filefullName:',filefullName)

    // 读取文件
    const content = fs.readFileSync(filePath,'utf-8');

    // 使用 typescript 的 api 转译 ts 文件
    const {outputText} = ts.transpileModule(content,{
        compilerOptions:{}
    })

    // 执行文件，将 js 文件预编译并加载执行
    module._compile(outputText,filename);
    
}


require(filePath)
